package com.adou.Controller;

import com.adou.common.controller.BaseController;
import com.adou.common.util.Const;
import com.adou.service.PhoneService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

/**
 * 手机端接口
 */
@RestController
@Scope(value = "prototype")
@RequestMapping("phone")
public class PhoneController extends BaseController {

    @Autowired
    private PhoneService phoneService;

    /**
     * 查询已发布表单
     * @return
     */
    @GetMapping("queryTableDeploy")
    public Map<String,Object> queryTableDeploy(){
        try{
            resultMap.put("data",phoneService.queryTableDeploy());
        }catch (Exception e){
            logger.error(e.toString(), e);
            resultMap.put("result", Const.LIST_ERROR_102);
            resultMap.put("msg", Const.DATA_FAIL);
        }
        return resultMap;
    }

    /**
     * 查询手机端数据
     * @param map 参数 id 传入查单条数据 formId 表单主键必传 conditionList 数组条件查询[{findValue1:?,findValue2:?,id:?}]
     *            id 必传 findValue1,findValue2 没有就不传该字段
     * @return
     */
    @PostMapping("pageList")
    public Map<String,Object> pageList(@RequestBody Map<String, Object> map){
        try{
            return phoneService.pageList(map);
        }catch (Exception e){
            logger.error(e.toString(), e);
            resultMap.put("result", Const.LIST_ERROR_102);
            resultMap.put("msg", Const.DATA_FAIL);
        }
        return resultMap;
    }

    /**
     * 查询手机端数据
     * @param map 参数 formId 表单主键必传
     * @return
     */
    @GetMapping("queryPhoneFields")
    public Map<String,Object> queryPhoneFields(@RequestParam Map<String, Object> map){
        try{
            return phoneService.queryPhoneFields(map);
        }catch (Exception e){
            logger.error(e.toString(), e);
            resultMap.put("result", Const.LIST_ERROR_102);
            resultMap.put("msg", Const.DATA_FAIL);
        }
        return resultMap;
    }

    /**
     * 根据主键查询详细信息
     * @param map id 数据列表主键（必传） formId 表单主键（必传）
     * @return
     */
    @GetMapping("queryDataById")
    public Map<String,Object> queryDataById(@RequestParam Map<String, Object> map){
        try{
            resultMap.putAll(phoneService.queryDataById(map));
        }catch (Exception e){
            logger.error(e.toString(), e);
            resultMap.put("result", Const.LIST_ERROR_102);
            resultMap.put("msg", Const.DATA_FAIL);
        }
        return resultMap;
    }

}
